home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 9 / 64er_Magazin_Sonderheft_09_86-09_1986_Markt__Technik_de_Side_A.d64 / catalog printer+ (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  3KB  |  107 lines

  1. 5 goto 20
  2. 10 a$="catalog printer+":open1,8,15,"s:"+a$:close1:save a$,8:end
  3. 11 'capri + file printer aus 64'er sonder2/86 s.111 / 29.5.86 / kd
  4. 12 'capri by herbert kaufhold, auf den stoecken 17a, 4040 neuss 22
  5. 13 'file printer by klaus grabietz, am weinberg 14, 3108 winsen
  6. 14 ' 64 -ersion
  7. 15 :
  8. 20 poke 53280,0:poke 53281,11:print "[147][159]"chr$(14)
  9. 30 close4:open4,4,0:close4
  10. 40 if st and-64 then print,"[196]rucker einschalten[145]":goto 30
  11. 50 :
  12. 60 s=704:dj=86:rem dj=jahr
  13. 70 c$=chr$(13):e$=chr$(27):o$=chr$(0):gosub 930:poke s+3,dj:poke 198,0
  14. 90 :
  15. 100 print"[147]"," [196]irectory [208]rinter
  16. 110 [153]"   (NULL)aechste str$iskette - 'asc7'wait oder (NULL)val(NULL)(NULL)(NULL)(NULL)
  17. 120 if w=64 then print"   [196]ruck wiederholen - '[198]5'"
  18. 130 print,"validieren - '[198]3'"
  19. 140 print,"      [197]nde - '[198]1'"
  20. 150 wait 198,1:get a$:as=asc(a$):poke 198,0:if as=135 and w<>64 then as=0
  21. 160 if as=136 and w=64 then gosub 300:goto 100
  22. 170 if as=13 then as=136
  23. 180 on as+132*(as>132) gosub 3000,1020,600,200:goto 100
  24. 190 :
  25. 200 dj=peek(s+3):dj$=mid$(str$(dj),2)
  26. 210 gosub 800:if d3$<>dj$ then d$="ttmm"+dj$
  27. 220 print"[153][212]agesdatum  :"d$c$"[145]"spc(11);
  28. 230 inputd$:if right$(d$,2)<>dj$then220
  29. 240 if d$=da$ then300
  30. 250 poke s,val(mid$(d$,1,2)):poke s+1,val(mid$(d$,3,2))
  31. 260 poke s+2,val(mid$(d$,5,2)):gosub 800:rem datum
  32. 270 :
  33. 290 rem=== block's free / dir-name
  34. 300 w=0:n=0:cc$="":print"[147][153]";:gosub 1000:if de=21 then gosub 2100:goto 510
  35. 310 open2,8,2,"#":get#2,a$:p=asc(a$+o$)+3
  36. 320 print#15,"m-r"chr$(250)chr$(2):get#15,bl$
  37. 330 print#15,"m-r"chr$(252)chr$(2):get#15,bh$:bf=asc(bl$+o$)+256*asc(bh$+o$)
  38. 340 sp=18:se=0:gosub870:bf$=right$("   "+str$(bf),4)
  39. 350 print#15,"m-r"chr$(144)chr$(7)chr$(23)
  40. 360 a$="":cc$="":input#15,a$:cc$=left$(a$,16):id$=mid$(a$,19,2)
  41. 365 :
  42. 370 sp=18:se=1:print"[147]"," "dd$c$," "cc$"[146] "id$
  43. 380 :
  44. 390 rem=== dir lesen
  45. 400 gosub870:if ed=10 then500
  46. 410 for di=0 to 7:pz=di*32:print#15,"b-p 2";pz+2:gosub 2000:rem err
  47. 420 : if de then ed=10:di=10
  48. 430 : get#2,a$:a=asc(a$+o$):b=a-(a and128):if a=0 then490:rem geloescht
  49. 435 : if b>64 then b=b-60
  50. 440 : print#15,"m-r"chr$(pz+5)chr$(p)chr$(16):input#15,f$:if len(f$)=16 then470
  51. 450 : print#15,"m-r"chr$(pz+5)chr$(p)chr$(16)
  52. 460 : f$="":fori=1 to 16:get#15,a$:f$=f$+a$:next
  53. 470 : print#15,"b-p 2";pz+30:get#2,bl$:get#2,bh$:bl=asc(bh$+o$)*256+asc(bl$+o$)
  54. 480 : n=n+1:f$(n)=right$("  "+str$(bl),4)+" "+f$+" "+b$(b):print"      "f$(n)
  55. 490 next:if ed=0 then400
  56. 500 printc$"      "bf$" bloecke frei.
  57. 510 [160]15:[160]2
  58. 520 :
  59. 590 [143]=== print
  60. 600 [139] cc$[178]"" [167] [142]
  61. 610 f[178]128:[159] f,4,1:[152]f:[157] f:[153] e$"(NULL)";
  62. 620 [153] e$"(NULL)"e$[199](15)e$"s"o$e$"a"[199](5)e$"-1name : "cc$"  right$str$: "id$"  ";
  63. 630 [152]f,bf$" bloecke frei.         (NULL)tand vom: "dd$" "e$"-0":[152]f
  64. 640 [139] w [167]670
  65. 650 b[178]n[173]3:b%[178]b:[139] n[178]0 [167]710
  66. 660 [139] b[179][177]b% [167] [129] x[178]1 [164] 3:f$(n[170]x)[178]"":[130]:n[178]n[170]3
  67. 670 b%[178]n[173]3:[129] x[178]1 [164] b%
  68. 680 : [152]f,f$(x)" "f$(x[170]b%)" "f$(x[170]2[172]b%)
  69. 690 [130]
  70. 700 :
  71. 710 w[178]64:[160] f:[153]"loadopen"[199](14):[142]
  72. 720 :
  73. 790 [143]=== subroutine
  74. 800 d1$[178][201]("0"[170][202]([196]([194](s)),2),2)
  75. 810 d2$[178][201]("0"[170][202]([196]([194](s[170]1)),2),2)
  76. 820 d3$[178][201]("0"[170][202]([196]([194](s[170]2)),2),2):dd$[178]d1$[170]"."[170]d2$[170]"."[170]d3$
  77. 830 d$[178]d1$[170]d2$[170]d3$:da$[178]d$:[142]
  78. 840 :
  79. 850 [143]" block read
  80. 860 ed=10:goto 900
  81. 870 print#15,"u1 2 0";sp;se:gosub 2000:if de then print"zeile 870":goto 860
  82. 880 ed=0:get#2,sp$:get#2,se$:sp=asc(sp$+o$):se=asc(se$+o$)
  83. 890 if sp=0 or sp>35 or se>20 then ed=1
  84. 900 return
  85. 910 :
  86. 920 rem" initialisieren
  87. 930 j[178]0:i[178]0:di[178]0:pz[178]0:se[178]0:a[178]0:b[178]0:bl[178]0:bf[178]0:w[178]0
  88. 940 b$(0)[178]"    ":b$(1)[178]"seq ":b$(2)[178]"prg ":b$(3)[178]"usr ":b$(4)[178]"rel "
  89. 950 b$(5)[178]"seq<":b$(6)[178]"prg<":b$(7)[178]"usr<":b$(8)[178]"rel<"
  90. 960 [134] f$(152)
  91. 970 [142]
  92. 980 :
  93. 990 [143]" disk-anw.
  94. 1000 open15,8,15,"i0":gosub 2000:return
  95. 1010 :
  96. 1020 open15,8,15,"v0":gosub 2000:return
  97. 1030 :
  98. 1990 rem" disk-err
  99. 2000 [132]15,de,de$,s1,s2
  100. 2010 [139] de [167] [153]""de;de$,s1;s2
  101. 2020 [142]
  102. 2030 :
  103. 2100 [153],"disk error #"de;c$"weiter mit:   (NULL)atn(NULL)(NULL)val
  104. 2110 poke198,0:wait198,1:return
  105. 2990 rem=== ende
  106. 3000 print"[147]":close15:end
  107.